// <copyright file="AchievementIds.cs" company="MaaAssistantArknights">
// Part of the MaaWpfGui project, maintained by the MaaAssistantArknights team (Maa Team)
// Copyright (C) 2021-2025 MaaAssistantArknights Contributors
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License v3.0 only as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY
// </copyright>

namespace MaaWpfGui.Constants;

public static class AchievementIds
{
    #region 基础使用类

    public const string SanitySpenderGroup = "SanitySpender";
    public const string SanitySpender1 = "SanitySpender1";
    public const string SanitySpender2 = "SanitySpender2";
    public const string SanitySpender3 = "SanitySpender3";

    public const string SanitySaverGroup = "SanitySaver";
    public const string SanitySaver1 = "SanitySaver1";
    public const string SanitySaver2 = "SanitySaver2";
    public const string SanitySaver3 = "SanitySaver3";

    public const string RoguelikeGamePassGroup = "RoguelikeGamePass";
    public const string RoguelikeGamePass1 = "RoguelikeGamePass1";
    public const string RoguelikeGamePass2 = "RoguelikeGamePass2";
    public const string RoguelikeGamePass3 = "RoguelikeGamePass3";

    public const string RoguelikeGroup = "Roguelike";
    public const string RoguelikeRetreat = "RoguelikeRetreat";
    public const string RoguelikeGoldMax = "RoguelikeGoldMax";

    public const string RoguelikeNGroup = "RoguelikeN";
    public const string RoguelikeN04 = "RoguelikeN04";
    public const string RoguelikeN08 = "RoguelikeN08";
    public const string RoguelikeN12 = "RoguelikeN12";
    public const string RoguelikeN15 = "RoguelikeN15";

    public const string FirstLaunch = "FirstLaunch";
    public const string SanityExpire = "SanityExpire";
    public const string OverLimitAgent = "OverLimitAgent";

    #endregion

    #region 功能探索类

    public const string ScheduleMasterGroup = "ScheduleMaster";
    public const string ScheduleMaster1 = "ScheduleMaster1";
    public const string ScheduleMaster2 = "ScheduleMaster2";

    public const string MirrorChyanGroup = "MirrorChyan";
    public const string MirrorChyanFirstUse = "MirrorChyanFirstUse";
    public const string MirrorChyanCdkError = "MirrorChyanCdkError";

    public const string MosquitoLeg = "MosquitoLeg";

    public const string PioneerGroup = "Pioneer";
    public const string Pioneer1 = "Pioneer1";
    public const string Pioneer2 = "Pioneer2";
    public const string Pioneer3 = "Pioneer3";

    public const string RealGacha = "RealGacha";
    public const string PeekScreen = "PeekScreen";
    public const string CustomizationMaster = "CustomizationMaster";

    #endregion

    #region 代理关卡类

    public const string MapOutdated = "MapOutdated";

    public const string UseCopilotGroup = "UseCopilot";
    public const string UseCopilot1 = "UseCopilot1";
    public const string UseCopilot2 = "UseCopilot2";
    public const string UseCopilot3 = "UseCopilot3";
    public const string CopilotLikeGroup = "CopilotLikeGiven";
    public const string CopilotLikeGiven1 = "CopilotLikeGiven1";
    public const string CopilotLikeGiven2 = "CopilotLikeGiven2";
    public const string CopilotLikeGiven3 = "CopilotLikeGiven3";
    public const string CopilotError = "CopilotError";

    public const string Irreplaceable = "Irreplaceable";

    #endregion

    #region 搞笑/梗成就

    public const string QuickCloser = "QuickCloser";
    public const string TacticalRetreat = "TacticalRetreat";
    public const string Martian = "Martian";

    public const string RecruitGroup = "Recruit";
    public const string RecruitNoSixStar = "RecruitNoSixStar";
    public const string RecruitNoSixStarStreak = "RecruitNoSixStarStreak";

    public const string SnapshotChallengeGroup = "SnapshotChallenge"; // 累计型成就
    public const string SnapshotChallenge1 = "SnapshotChallenge1"; // 999
    public const string SnapshotChallenge2 = "SnapshotChallenge2"; // 800
    public const string SnapshotChallenge3 = "SnapshotChallenge3"; // 400
    public const string SnapshotChallenge4 = "SnapshotChallenge4"; // 100
    public const string SnapshotChallenge5 = "SnapshotChallenge5"; // 10
    public const string SnapshotChallenge6 = "SnapshotChallenge6"; // 5

    #endregion

    #region BUG 相关

    public const string CongratulationError = "CongratulationError";
    public const string UnexpectedCrash = "UnexpectedCrash";
    public const string ProblemFeedback = "ProblemFeedback";
    public const string CdnTorture = "CdnTorture";

    #endregion

    #region 用户行为习惯类

    public const string MissionStartCount = "MissionStartCount";
    public const string MissionStartCountCustomDataKey = "LastStartDate";
    public const string LongTaskTimeout = "LongTaskTimeout";
    public const string ProxyOnline3Hours = "ProxyOnline3Hours";
    public const string TaskStartCancel = "TaskStartCancel";
    public const string AfkWatcher = "AfkWatcher";

    public const string UseDailyGroup = "UseDaily";
    public const string UseDailyCustomDataKey = "LastLaunchDate";
    public const string UseDaily1 = "UseDaily1"; // 7 天
    public const string UseDaily2 = "UseDaily2"; // 30 天
    public const string UseDaily3 = "UseDaily3"; // 365 天

    #endregion

    #region 彩蛋类

    public const string Rules = "Rules";
    public const string VersionClick = "VersionClick";
    public const string Lucky = "Lucky";

    public const string LoginGroup = "Login";
    public const string AprilFools = "AprilFools";
    public const string MidnightLaunch = "MidnightLaunch";
    public const string LunarNewYear = "LunarNewYear";

    #endregion
}
